﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BL;
using BE;
using System.IO;
using System.Text;
using System.Web.UI.HtmlControls;

namespace UI.Secretaria
{
    public partial class frmListadoAlumnos : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                llenaCombos();


            }

        }

        void llenaCombos()
        {

            DataTable dato = new DataTable();
            Alumno_BL obj = new Alumno_BL();

            dato = obj.DATA_ESPECIALIDAD_ListaEspecialidades();
            ddlEspecialidad.DataSource = dato;
            ddlEspecialidad.DataTextField = "desesp";
            ddlEspecialidad.DataValueField = "cod_Espec";
            ddlEspecialidad.DataBind();
            ddlEspecialidad.Items.Insert(0, "TODOS");


            dato.Clear();
            dato = obj.DATA_PERIODO_listaxSemestre("TODOS");
            ddlSemestre.DataSource = dato;
            ddlSemestre.DataTextField = "semestre";
            ddlSemestre.DataValueField = "semestre";
            ddlSemestre.DataBind();
            ddlSemestre.Items.Insert(0, "TODOS");


        }

        protected void Button1_Click(object sender, EventArgs e)
        {
           
        }


        void llenaGrilla()
        {

            
            //List<Nomina_BE> lis = new List<Nomina_BE>();

            // lis.Clear();

            Alumno_BL obj = new Alumno_BL();

            string especialidad="";
            string semestre="";
            string ciclo="";


            if (ddlSemestre.SelectedItem.Text == "TODOS")
            {
                semestre = "TODOS";
            }

            else
            { 
                semestre=ddlSemestre.SelectedValue;
            }

            if ( ddlEspecialidad.SelectedItem.Text == "TODOS")
            {
                especialidad = "TODOS";
            }

            else
            {
                especialidad = ddlEspecialidad.SelectedValue;
            }

            if (ddlCiclo.SelectedItem.Text == "TODOS")
            {
                ciclo = "TODOS";
            }

            else
            {
                ciclo = ddlCiclo.SelectedValue;
            }




            DataTable lis = obj.Listado_Alumnos_Matriculados(semestre, ciclo, especialidad);




            if (lis.Rows.Count == 0)
            {
                lblMensajePrincipal.Text = "No existe registros";
            }


            else
            {
                grvAlumnos.DataSource = lis;
                grvAlumnos.DataBind();
                
            }



        }

        protected void btnExporta_Click(object sender, ImageClickEventArgs e)
        {
            lblMensajePrincipal.Text = "";
            try
            {

                StringBuilder sb = new StringBuilder();
                StringWriter sw = new StringWriter(sb);
                HtmlTextWriter htw = new HtmlTextWriter(sw);

                Page page = new Page();
                HtmlForm form = new HtmlForm();

                grvAlumnos.EnableViewState = false;

                // Deshabilitar la validación de eventos, sólo asp.net 2
                page.EnableEventValidation = false;

                // Realiza las inicializaciones de la instancia de la clase Page que requieran los diseñadores RAD.
                page.DesignerInitialize();

                page.Controls.Add(form);
                form.Controls.Add(grvAlumnos);
                grvAlumnos.AllowPaging = false;
                llenaGrilla();
                page.RenderControl(htw);

                Response.Clear();
                Response.Buffer = true;
                Response.ContentType = "application/vnd.ms-excel";
                Response.AddHeader("Content-Disposition", "attachment;filename=data.xls");
                Response.Charset = "UTF-8";
                Response.ContentEncoding = Encoding.Default;
                Response.Write(sb.ToString());
                Response.End();
                grvAlumnos.AllowPaging = true;
                llenaGrilla();
            }
            catch (Exception ex)
            {
                lblMensajePrincipal.Text = ex.Message;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {


            lblMensajePrincipal.Text = "";
            try
            {
                llenaGrilla();
            }
            catch (Exception ex)
            {
                lblMensajePrincipal.Text = ex.Message;
            }

        }

        protected void grvAlumnos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {

            GridView gv = (GridView)sender;
            gv.PageIndex = e.NewPageIndex;
            llenaGrilla();



        }
    }
}